/**   
* @Title: ITask.java 
* @Package cn.com.gome.task.task 
* @Description: 业务接口 
* @author chenmin-ds   
* @version V1.0   
*/ 


package com.gomeplus.commons.quartz.task;

import java.util.List;

import net.sf.json.JSONObject;

/** 
 * @ClassName: ITask 
 * @Description: 业务接口 
 * @author chenmin-ds 
 */
public interface SpartITask<T> {

	/**
	* @Title: queryTaskInfo 
	* @Description: 查询所有要执行的任务集合
	* @param t 查询任务所需要的信息
	* @return List<T>    返回类型 
	 */
	public List<T> queryTaskInfo(JSONObject config);
	
	/**
	* @Title: runTask 
	* @Description: 执行每一条任务
	* @param  t  任务信息实体
	* @return void    返回类型 
	 */
	public void runTask(T t);
	
	/**
	* @Title: spart 
	* @Description: 数据分片执行规则计算
	* @param  t  任务信息实体  
	* @return boolean    返回类型 ：true，执行
	 */
	public boolean spart(T t,JSONObject config);
	
	/**
	* @Title: editTaskInfo 
	* @Description: 修改所有要执行的任务集合
	* @param boolean    设定文件 
	* @return boolean    返回类型 
	 */
	public boolean editTaskInfo(List<T> list);
}
